æ§é çããŒã¿åå²ä»£å ¥ã«ããJavaScriptã®ãã¿ãŒã³ãããã³ã°æ©èœãæ¢æ±ãäžçã®éçºè åãã«ãå®è·µçãªäŸãšãŠãŒã¹ã±ãŒã¹ã§ãããã¯ãªãŒã³ã§ä¿¡é Œæ§ãé«ããä¿å®ããããã³ãŒãã®æžãæ¹ãåŠã³ãŸãã
JavaScriptã®ãã¿ãŒã³ãããã³ã°ïŒå ç¢ãªã³ãŒããå®çŸããæ§é çããŒã¿åå²ä»£å ¥
JavaScriptã¯ãHaskellãScalaã®ãããªèšèªã»ã©é«åºŠãªãã¿ãŒã³ãããã³ã°ã§äŒçµ±çã«ç¥ãããŠããããã§ã¯ãããŸããããæ§é çããŒã¿åå²ä»£å ¥ãéããŠåŒ·åãªæ©èœãæäŸããŸãããã®ãã¯ããã¯ã«ãããããŒã¿æ§é ïŒãªããžã§ã¯ããšé åïŒã®åœ¢ç¶ãšæ§é ã«åºã¥ããŠå€ãæœåºããããç°¡æœã§èªã¿ããããä¿å®ããããã³ãŒããå®çŸã§ããŸãããã®èšäºã§ã¯ãJavaScriptã«ãããæ§é çããŒã¿åå²ä»£å ¥ã®æŠå¿µãæ¢æ±ããäžçäžã®éçºè ã«é¢é£ããå®è·µçãªäŸãšãŠãŒã¹ã±ãŒã¹ãæäŸããŸãã
æ§é çããŒã¿åå²ä»£å ¥ãšã¯äœãïŒ
æ§é çããŒã¿åå²ä»£å ¥ã¯ãECMAScript 6 (ES6)ã§å°å ¥ãããæ©èœã§ããªããžã§ã¯ããé åããå€ãæœåºãã倿°ã«ä»£å ¥ããç°¡æœãªæ¹æ³ãæäŸããŸããããã¯æ¬è³ªçã«ãã¿ãŒã³ãããã³ã°ã®äžåœ¢æ ã§ãããæœåºãããããŒã¿ã®æ§é ã«äžèŽãããã¿ãŒã³ãå®çŸ©ããŸãããã¿ãŒã³ãäžèŽããã°å€ãæœåºã»ä»£å ¥ãããããã§ãªããã°ããã©ã«ãå€ã䜿çšããããä»£å ¥ãã¹ããããããã§ããŸããããã¯åçŽãªå€æ°ä»£å ¥ãè¶ ããä»£å ¥ããã»ã¹å ã§è€éãªããŒã¿æäœãæ¡ä»¶ä»ãããžãã¯ãå¯èœã«ããŸãã
ãã¹ããããããããã£ã«ã¢ã¯ã»ã¹ããããã«åé·ãªã³ãŒããæžã代ããã«ãåå²ä»£å ¥ã¯ãã®ããã»ã¹ãåçŽåããã³ãŒãããã宣èšçã§çè§£ããããããŸããããã«ãããéçºè ã¯ããŒã¿æ§é ãã©ã®ããã«ããã²ãŒããããããããå¿ èŠãªããŒã¿ã«éäžã§ããŸãã
ãªããžã§ã¯ãã®åå²ä»£å ¥
ãªããžã§ã¯ãã®åå²ä»£å ¥ã䜿çšãããšããªããžã§ã¯ãããããããã£ãæœåºããåããŸãã¯ç°ãªãååã®å€æ°ã«ä»£å ¥ã§ããŸããæ§æã¯æ¬¡ã®ãšããã§ãïŒ
const obj = { a: 1, b: 2, c: 3 };
const { a, b } = obj; // a = 1, b = 2
ãã®äŸã§ã¯ãããããã£a
ãšb
ã®å€ãobj
ãªããžã§ã¯ãããæœåºããããããã倿°a
ãšb
ã«ä»£å
¥ãããŸããããããã£ãååšããªãå Žåã察å¿ãã倿°ã¯undefined
ã«ä»£å
¥ãããŸããåå²ä»£å
¥äžã«ãšã€ãªã¢ã¹ïŒå¥åïŒã䜿çšããŠå€æ°åã倿Žããããšãã§ããŸãã
const { a: newA, b: newB } = obj; // newA = 1, newB = 2
ããã§ã¯ãããããã£a
ã®å€ã倿°newA
ã«ãããããã£b
ã®å€ã倿°newB
ã«ä»£å
¥ãããŸãã
ããã©ã«ãå€
ãªããžã§ã¯ãã«ååšããªãå¯èœæ§ã®ããããããã£ã«å¯ŸããŠãããã©ã«ãå€ãæå®ã§ããŸããããã«ãããããããã£ããªããžã§ã¯ãã«ååšããªãå Žåã§ãã倿°ã¯åžžã«å€ãä»£å ¥ãããããšãä¿èšŒãããŸãã
const obj = { a: 1 };
const { a, b = 5 } = obj; // a = 1, b = 5 (default value)
ãã®å Žåãobj
ãªããžã§ã¯ãã«ã¯ããããã£b
ããªãããã倿°b
ã«ã¯ããã©ã«ãå€ã®5
ã代å
¥ãããŸãã
ãã¹ãããããªããžã§ã¯ãã®åå²ä»£å ¥
åå²ä»£å ¥ã¯ãã¹ãããããªããžã§ã¯ãã«ã䜿çšã§ãããªããžã§ã¯ãæ§é ã®æ·±ãå Žæããããããã£ãæœåºã§ããŸãã
const obj = { a: 1, b: { c: 2, d: 3 } };
const { b: { c, d } } = obj; // c = 2, d = 3
ãã®äŸã¯ããã¹ãããããªããžã§ã¯ãb
ããããããã£c
ãšd
ãæœåºããæ¹æ³ã瀺ããŠããŸãã
æ®äœããããã£
æ®äœæ§æïŒ...
ïŒã䜿çšãããšããªããžã§ã¯ãã®æ®ãã®ããããã£ãæ°ãããªããžã§ã¯ãã«éçŽã§ããŸãã
const obj = { a: 1, b: 2, c: 3 };
const { a, ...rest } = obj; // a = 1, rest = { b: 2, c: 3 }
ããã§ã¯ãa
ããããã£ãæœåºãããæ®ãã®ããããã£ïŒb
ãšc
ïŒã¯rest
ãšããååã®æ°ãããªããžã§ã¯ãã«éçŽãããŸãã
é åã®åå²ä»£å ¥
é åã®åå²ä»£å ¥ã䜿çšãããšãé åããèŠçŽ ãæœåºãããã®äœçœ®ã«åºã¥ããŠå€æ°ã«ä»£å ¥ã§ããŸããæ§æã¯ãªããžã§ã¯ãã®åå²ä»£å ¥ãšäŒŒãŠããŸãããæ³¢æ¬åŒ§ã®ä»£ããã«è§æ¬åŒ§ã䜿çšããŸãã
const arr = [1, 2, 3];
const [a, b] = arr; // a = 1, b = 2
ãã®äŸã§ã¯ãé
åã®æåã®èŠçŽ ã倿°a
ã«ã2çªç®ã®èŠçŽ ã倿°b
ã«ä»£å
¥ãããŸãããªããžã§ã¯ããšåæ§ã«ãã«ã³ãã䜿çšããŠèŠçŽ ãã¹ãããã§ããŸãã
const arr = [1, 2, 3];
const [a, , c] = arr; // a = 1, c = 3
ããã§ã¯ã2çªç®ã®èŠçŽ ãã¹ãããããã3çªç®ã®èŠçŽ ã倿°c
ã«ä»£å
¥ãããŸãã
ããã©ã«ãå€
ååšããªãããŸãã¯undefined
ã®å¯èœæ§ãããé
åèŠçŽ ã«å¯ŸããŠãããã©ã«ãå€ãæå®ããããšãã§ããŸãã
const arr = [1];
const [a, b = 5] = arr; // a = 1, b = 5
ãã®å Žåãé
åã«ã¯èŠçŽ ã1ã€ãããªãããã倿°b
ã«ã¯ããã©ã«ãå€ã®5
ã代å
¥ãããŸãã
æ®äœèŠçŽ
æ®äœæ§æïŒ...
ïŒã¯é
åã«ã䜿çšã§ããæ®ãã®èŠçŽ ãæ°ããé
åã«éçŽã§ããŸãã
const arr = [1, 2, 3, 4];
const [a, b, ...rest] = arr; // a = 1, b = 2, rest = [3, 4]
ããã§ã¯ãæåã®2ã€ã®èŠçŽ ã倿°a
ãšb
ã«ä»£å
¥ãããæ®ãã®èŠçŽ ã¯rest
ãšããååã®æ°ããé
åã«éçŽãããŸãã
å®è·µçãªãŠãŒã¹ã±ãŒã¹ãšäŸ
æ§é çããŒã¿åå²ä»£å ¥ã¯ãã³ãŒãã®å¯èªæ§ãšä¿å®æ§ãåäžãããããã«ãããŸããŸãªã·ããªãªã§äœ¿çšã§ããŸãã以äžã«ããã€ãã®å®è·µçãªäŸã瀺ããŸãïŒ
1. 颿°ã®åŒæ°
颿°ã®åŒæ°ãåå²ä»£å ¥ããããšã§ã颿°ã«åŒæ°ãšããŠæž¡ããããªããžã§ã¯ãããç¹å®ã®ããããã£ãããŸãã¯é åããèŠçŽ ãæœåºã§ããŸããããã«ããã颿°ã®ã·ã°ããã£ãããã¯ãªãŒã³ã§è¡šçŸåè±ãã«ãªããŸãã
function greet({ name, age }) {
console.log(`Hello, ${name}! You are ${age} years old.`);
}
const person = { name: 'Alice', age: 30 };
greet(person); // Output: Hello, Alice! You are 30 years old.
ãã®äŸã§ã¯ãgreet
颿°ã¯name
ãšage
ããããã£ãæã€ãªããžã§ã¯ããæåŸ
ããŸãããã®é¢æ°ã¯ãªããžã§ã¯ãã®åŒæ°ãåå²ä»£å
¥ããŠããããã®ããããã£ãçŽæ¥æœåºããŸãã
2. ã¢ãžã¥ãŒã«ã®ã€ã³ããŒã
ã¢ãžã¥ãŒã«ãã€ã³ããŒãããéãåå²ä»£å ¥ã䜿çšããŠã¢ãžã¥ãŒã«ããç¹å®ã®ãšã¯ã¹ããŒããæœåºã§ããŸãã
import { useState, useEffect } from 'react';
ãã®äŸã¯ãåå²ä»£å
¥ã䜿çšããŠreact
ã¢ãžã¥ãŒã«ããuseState
颿°ãšuseEffect
颿°ãã€ã³ããŒãããæ¹æ³ã瀺ããŠããŸãã
3. APIã®æäœ
APIããããŒã¿ãååŸããéãåå²ä»£å ¥ã䜿çšããŠAPIã¬ã¹ãã³ã¹ããé¢é£æ å ±ãæœåºã§ããŸããããã¯ãè€éãªJSONã¬ã¹ãã³ã¹ãæ±ãå Žåã«ç¹ã«äŸ¿å©ã§ãã
async function fetchData() {
const response = await fetch('https://api.example.com/users/1');
const { id, name, email } = await response.json();
console.log(`User ID: ${id}, Name: ${name}, Email: ${email}`);
}
ãã®äŸã§ã¯ãAPIãšã³ããã€ã³ãããããŒã¿ãååŸããJSONã¬ã¹ãã³ã¹ãåå²ä»£å
¥ããŠid
ãname
ãemail
ããããã£ãæœåºããŠããŸãã
4. 倿°ã®ã¹ã¯ãã
åå²ä»£å ¥ã䜿çšãããšãäžæå€æ°ã䜿ããã«2ã€ã®å€æ°ã®å€ã亀æã§ããŸãã
let a = 1;
let b = 2;
[a, b] = [b, a]; // a = 2, b = 1
ãã®äŸã§ã¯ãé
åã®åå²ä»£å
¥ã䜿çšããŠå€æ°a
ãšb
ã®å€ã亀æããŠããŸãã
5. è€æ°ã®æ»ãå€ã®åŠç
å Žåã«ãã£ãŠã¯ã颿°ãè€æ°ã®å€ãé åãšããŠè¿ãããšããããŸããåå²ä»£å ¥ã䜿çšãããšããããã®å€ãå¥ã ã®å€æ°ã«ä»£å ¥ã§ããŸãã
function getCoordinates() {
return [10, 20];
}
const [x, y] = getCoordinates(); // x = 10, y = 20
ãã®äŸã¯ãgetCoordinates
颿°ã«ãã£ãŠè¿ãããé
åãåå²ä»£å
¥ããŠãx
座æšãšy
座æšãæœåºããæ¹æ³ã瀺ããŠããŸãã
6. åœéåïŒi18nïŒ
åœéåïŒi18nïŒã©ã€ãã©ãªãæ±ãéãåå²ä»£å ¥ã¯äŸ¿å©ã§ãããã±ãŒã«åºæã®ããŒã¿ãåå²ä»£å ¥ããããšã§ã翻蚳ãããæååããã©ãŒãããã«ãŒã«ã«ç°¡åã«ã¢ã¯ã»ã¹ã§ããŸãã
const translations = {
en: {
greeting: "Hello",
farewell: "Goodbye"
},
fr: {
greeting: "Bonjour",
farewell: "Au revoir"
}
};
function greetIn(locale) {
const { greeting } = translations[locale];
console.log(`${greeting}!`);
}
greetIn('fr'); // Output: Bonjour!
ããã¯ãç¹å®ã®ãã±ãŒã«ã®ç¿»èš³ãç°¡åã«ååŸããæ¹æ³ã瀺ããŠããŸãã
7. èšå®ãªããžã§ã¯ã
èšå®ãªããžã§ã¯ãã¯å€ãã®ã©ã€ãã©ãªããã¬ãŒã ã¯ãŒã¯ã§äžè¬çã§ããåå²ä»£å ¥ã䜿çšãããšãç¹å®ã®èšå®ãªãã·ã§ã³ãç°¡åã«æœåºã§ããŸãã
const config = {
apiUrl: "https://api.example.com",
timeout: 5000,
maxRetries: 3
};
function makeApiRequest({ apiUrl, timeout }) {
console.log(`Making request to ${apiUrl} with timeout ${timeout}`);
}
makeApiRequest(config);
ããã«ããã颿°ã¯å¿ èŠãªèšå®ã ããåãåãããšãã§ããŸãã
æ§é çããŒã¿åå²ä»£å ¥ã䜿çšããå©ç¹
- ã³ãŒãã®å¯èªæ§åäžïŒ åå²ä»£å ¥ã¯ãã©ã®å€ãããŒã¿æ§é ããæœåºãããŠããããæç¢ºã«ç€ºãããšã§ãã³ãŒããããç°¡æœã§çè§£ããããããŸãã
- ãã€ã©ãŒãã¬ãŒãã³ãŒãã®åæžïŒ åå²ä»£å ¥ã¯ãããããã£ãèŠçŽ ã«ã¢ã¯ã»ã¹ããããã«å¿ èŠãªãã€ã©ãŒãã¬ãŒãã³ãŒãã®éãæžãããã³ãŒããããã¯ãªãŒã³ã§ç¹°ãè¿ããå°ãªããã®ã«ããŸãã
- ã³ãŒãã®ä¿å®æ§åäžïŒ åå²ä»£å ¥ã¯ããã¹ããããããããã£ãèŠçŽ ã«ã¢ã¯ã»ã¹ããéã®ãšã©ãŒã®å¯èœæ§ãæžããããšã§ãã³ãŒãã®ä¿å®æ§ãé«ããŸãã
- çç£æ§ã®åäžïŒ åå²ä»£å ¥ã¯ãããŒã¿æ§é ããå€ãæœåºããããã»ã¹ãåçŽåããããšã§ãæéãšåŽåãç¯çŽã§ããŸãã
- ãã衚çŸåè±ããªã³ãŒãïŒ åå²ä»£å ¥ã«ãããæå³ãæç¢ºã«äŒããå¿ èŠãªããŒã¿ã«çŠç¹ãåœãŠãããšã§ããã衚çŸåè±ããªã³ãŒããæžãããšãã§ããŸãã
ãã¹ããã©ã¯ãã£ã¹
- æå³ã®ãã倿°åã䜿çšããïŒ åå²ä»£å ¥ããéã¯ãæœåºãããå€ã®æå³ãæç¢ºã«ç€ºã倿°åã䜿çšããŠãã ããã
- ããã©ã«ãå€ãæäŸããïŒ äºæããªããšã©ãŒãé¿ãããããæ¬ èœããŠããå¯èœæ§ã®ããããããã£ãèŠçŽ ã«ã¯åžžã«ããã©ã«ãå€ãæäŸããŠãã ããã
- åå²ä»£å ¥ãã¿ãŒã³ãã·ã³ãã«ã«ä¿ã€ïŒ ã³ãŒãã®å¯èªæ§ãç¶æãããããé床ã«è€éãªåå²ä»£å ¥ãã¿ãŒã³ã¯é¿ããŠãã ããã
- åå²ä»£å ¥ãè³¢ã䜿çšããïŒ åå²ä»£å ¥ã¯åŒ·åã§ãããè³¢ã䜿çšããã³ãŒããäžæçã«ãªãå¯èœæ§ã®ããç¶æ³ã§ã®ä¹±çšã¯é¿ããŠãã ããã
- ã³ãŒãã¹ã¿ã€ã«ãèæ ®ããïŒ åå²ä»£å ¥ã䜿çšããéã¯ãäžè²«ããã³ãŒãã¹ã¿ã€ã«ã¬ã€ãã©ã€ã³ã«åŸããã³ãŒããèªã¿ãããä¿å®å¯èœã§ããããšã確èªããŠãã ããã
ã°ããŒãã«ãªèæ ®äºé
ã°ããŒãã«ãªãªãŒãã£ãšã³ã¹åãã«JavaScriptãèšè¿°ããéãæ§é çããŒã¿åå²ä»£å ¥ã䜿çšããéã«ã¯ã以äžã®èæ ®äºé ã«æ³šæããŠãã ããïŒ
- ããŒã¿æ§é ïŒ åå²ä»£å ¥ããããŒã¿æ§é ããç°ãªãå°åããã±ãŒã«éã§äžè²«æ§ããããæç¢ºã«å®çŸ©ãããŠããããšã確èªããŠãã ããã
- ããŒã¿åœ¢åŒïŒ ããŒã¿åœ¢åŒïŒäŸïŒæ¥ä»ãšæå»ã®åœ¢åŒãæ°å€ã®åœ¢åŒïŒã®æœåšçãªéãã«æ³šæããåå²ä»£å ¥ããéã«ããããé©åã«åŠçããŠãã ããã
- æåãšã³ã³ãŒãã£ã³ã°ïŒ ç¹ã«ç°ãªãèšèªã®ããã¹ãããŒã¿ãæ±ãéã«ã¯ãã³ãŒããç°ãªãæåãšã³ã³ãŒãã£ã³ã°ãæ£ããåŠçããããšã確èªããŠãã ããã
- ãã±ãŒã«åºæã®ããŒã¿ïŒ ãã±ãŒã«åºæã®ããŒã¿ãåå²ä»£å ¥ããéã¯ãæ£ãããã±ãŒã«èšå®ã䜿çšããŠãããããŒã¿ãé©åã«ããŒã«ã©ã€ãºãããŠããããšã確èªããŠãã ããã
çµè«
æ§é çããŒã¿åå²ä»£å ¥ã¯ãJavaScriptã®åŒ·åãªæ©èœã§ãããã³ãŒãã®å¯èªæ§ãä¿å®æ§ãçç£æ§ãå€§å¹ ã«åäžãããããšãã§ããŸãããã®èšäºã§æŠèª¬ããæŠå¿µãšãã¹ããã©ã¯ãã£ã¹ãçè§£ããããšã§ãäžçäžã®éçºè ã¯åå²ä»£å ¥ã掻çšããŠãããã¯ãªãŒã³ã§å ç¢ããã€è¡šçŸåè±ããªã³ãŒããæžãããšãã§ããŸããJavaScriptããŒã«ãããã®äžéšãšããŠåå²ä»£å ¥ãåãå ¥ããããšã¯ãããå¹ççã§æ¥œããéçºäœéšã«ã€ãªãããã°ããŒãã«ãªãªãŒãã£ãšã³ã¹åãã®é«å質ãªãœãããŠã§ã¢ã®åµé ã«è²¢ç®ããŸããJavaScriptãé²åãç¶ããäžã§ããããã®åºæ¬æ©èœãç¿åŸããããšã¯ãçŸä»£ã®ãŠã§ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã«ãŸããŸãéèŠã«ãªã£ãŠããŸãã